var if_search=0;//判断搜索全部还是搜索部分
var curRow = {}; //用于记录编辑时的行数

var TableInit =
{
	init:function()
	{
		//先销毁表格
		$('#tb_departments').bootstrapTable('destroy');  
		
		$('#tb_departments').bootstrapTable
		({  
			url: '/OrderSystem/OrderAction_SearchAll.action', //请求后台的URL（*） 
			method: 'get', //请求方式（*）  
			toolbar: '#toolbar', //工具按钮用哪个容器  
			striped: true, //是否显示行间隔色  
			cache: false, //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）  
			
			sidePagination: "server", //分页方式：client客户端分页，server服务端分页（*）			
			pagination: true, //是否显示分页（*）  
			pageNumber:1, //初始化加载第一页，默认第一页  
			pageSize: 5, //每页的记录行数（*） 
			pageList: [5, 10, 15, 20, 25],  //记录数可选列表
			
			editable : true,//是否可编辑  
			clickToSelect: true,//单击选择
			
			search: false, //是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大  
			strictSearch: true,  
			showColumns: true, //是否显示所有的列  
			showRefresh: true, //是否显示刷新按钮 
			minimumCountColumns: 2, //最少允许的列数  
			clickToSelect: true, //是否启用点击选中行 
			height: 500, //行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度  
			uniqueId: "ID", //每一行的唯一标识，一般为主键列  
			showToggle:true, //是否显示详细视图和列表视图的切换按钮 
			detailView: false, //是否显示父子表 
			
			singleSelect:true,
			
			//设置为undefined可以获取pageNumber，pageSize，searchText，sortName，sortOrder  
            //设置为limit可以获取limit, offset, search, sort, order  
			queryParamsType : "undefined",   
	        queryParams: function queryParams(params) //可自定义传递参数
			{   //设置查询参数  
	        	if(if_search==1)
	        	{
	        		var param = 
			        {    
			             pageNumber: params.pageNumber,    
			             pageSize: params.pageSize,
			             keyword:$("#keyword").val(),
			             type:$("#type").val()
			        };  
	        	}
	        	else if(if_search==0)
	        	{
	        		var param = 
			        {    
			             pageNumber: params.pageNumber,    
			             pageSize: params.pageSize
			        };  
	        	}
		         
	            return param;                   
	        },  
	          
	        
	        /*不同行显示不同格式*/  
	        rowStyle: function (row, index) {
                //这里有5个取值代表5中颜色['active', 'success', 'info', 'warning', 'danger'];
 
	        	var strclass = "";
                if (row.p_status == 1) {  //还没到
                    strclass = 'active';//还有一个active
                }
                else if (row.p_status == 0) {//已经到
                    strclass = 'danger';
                }
                else {
                    return {};
                }
                return { classes: strclass }
            },
	        /*不同行显示不同格式*/
            
            
	        onClickRow: function (row, $element) {
	        	 curRow = row;
            },
            
            onEditableSave:function()
            {
            	console.log("123");
            },
            
            onEditableHidden: function (field, row, $el, reason) 
            {       	
            	var t1 = new Date(row.p_ac_time);   
            	var t2 = new Date(row.p_time); 
            	var can=""//显示可用餐桌号
            	var if_ajax=0;//标志是否异步修改
            	
            	if(field=="p_ac_time")//如果修改的是时间  检查时间是否正确
            	{
            		if(row.p_ac_time=="")
            		{
            			toastr.warning('预计到店时间 不能为空');
            			return ;
            		}
            		
            		//验证输入的时间格式对不对
            		var pattern = /\d{4}(\-|\/|.)\d{1,2}\1\d{1,2}/;
            		if(!pattern.test(row.p_ac_time))
            		{
            			toastr.warning('请填写正确格式的时间，形如：2012-01-31 09:00:22');
            			return;
            		}

	            	if(Date.parse(t1) - Date.parse(t2) <=0)
	            	{
	            		toastr.warning('预计到店时间 必须大于 预定时间');
	            		return ;
	            	}
	            	
	            	if(reason=="save")//检查到修改了，则异步修改
	            	{
	            		AlertOrder(row);
	            	}
            	}
            	
            	if(field=="t_id")//如果修改的是餐桌id  异步检查id是否可用
            	{
            		$.ajax
            		(
            				{
            						async:false,
            					
            				        type:"POST",
            				        
            				        url:"/OrderSystem/OrderAction_ShowD_id.action",
            				
            				        cache : false, 
            				          
            				        success:function(data)
            				        {	
            				        	var obj 	= jQuery.parseJSON(data);
            				        	
            				        	
            				        	for(var i =0;i<obj.length;i++)
            				        	{
            				        		can =can +obj[i].d_id+",";
            				        		if(row.t_id==obj[i].d_id)
            				        		{
            				        			if_ajax=1;
            				        			toastr.success('此餐桌id可用');
            				        		}
            				        	}
            				        	
            				        	if(if_ajax==1 && reason=="save")//等于1，并且已经修改了，说明可以异步修改了
            				        	{
            				        		AlertOrder(row);
            				        	}
            				        	else if(if_ajax==1 && reason!="save")//没有修改，只显示可用
            				        	{}
            				        	else
            				        	{
            				        		toastr.warning('此餐桌id不可用,当前可用的餐桌id为：'+can+" 请打开左上角的 ‘当前可选餐桌号列表查看可用餐桌号’");
                				        	return;
            				        	}
            				        },
            				        
            				        error: function()
            				        {   
            				        	toastr.warning('获取失败');
            				        	return ;
            				        }         
            				}
            		);
            	} 
            	
            	
            	
            } ,
            
            
			columns:[
			         	{  checkbox: true }, 
			         	{  
			         		field: 'p_id',  
			         		title: '编号' 
			         	},
			         	
			         	{  
			         		field: 'v_id',  
			         		title: '预定客户编号',
			         		editable: 
			         		{
			                      type: 'text',
			                      validate: function (v) 
			                      {
			                    	  if (!v) return '客户编号不能为空';
			                      }
			                 }
			         	}, 
			         	
			         	
			         	{  
			         		field: 't_id',  
			         		title: '预定餐桌编号',
			         		editable: 
			         		{
			                      validate: function (v) 
			                      {
			                    	  if (!v) return '餐桌编号不能为空';
			                      }
			         			
			                 }
			         	}, 
			         	
			         	
			         	{ 
			         		field: 'p_status',  
			         		title: '是否已到' ,
			         	
			         		formatter:function(value,row,rowIndex)
			         		{ 
			         			//1到了   0未到
			                   if(value==1)
			                   {
			                	   return "未到店";
			                   }
			                   else if(value==0)
			                   {
			                	   return "已到店";
			                   }
			                }  
			         	},
			         	
			         	{  field: 'p_time',  title: '预定时间' },
			         	
			         	{  
			         		field: 'p_ac_time',  
			         		title: '预计到店时间',
			         		
			         		editable: 
				         	{
				                   validate: function (v) 
				                   {
				                	   if (!v) return '预计到店时间不能为空'; 
				                   }
				             }
			         	}
			        ]
			        
		});
	}
	
};





function AlertOrder(row,pre_d_id)
{
	var row2 = row.p_id+","+
			   row.v_id+","+
			   row.t_id+","+
			   row.p_status+","+
			   row.p_time+","+
			   row.p_ac_time;;
	$.ajax
	(
			{
					async:false,
				
			        type:"POST",
			        
			        url:"/OrderSystem/OrderAction_Alert.action?property="+row2,
			
			        cache : false, 
			          
			        success:function(data)
			        {	
			        	var obj 	= jQuery.parseJSON(data);
			        	if(obj=="1")
			        	{
			        		toastr.success('修改成功');
			        		TableInit.init();     
			        	}
			        	else if(obj=="0")
			        	{
			        		toastr.error('修改失败');
			        		TableInit.init();     
			        	}
			        },
			        
			        error: function()
			        {
			        	toastr.error('修改失败');
			        	$('#myModal').modal('hide');//隐藏增加面板
			        	TableInit.init();   
			        }         
			}
	);
}






function button_search()//单击搜索按钮执行
{
	if( document.getElementById("keyword").value=="" || document.getElementById("type").value=="")
	{	 
		toastr.warning('查询关键字不能为空'); 
		return ;
	}
	else
	{
		if_search=1; 
		TableInit.init();
		if_search=0;
		toastr.success('查询数据成功');
	}
}



function AddOrder()//单击增加按钮
{
	var d_id = document.getElementById("sele_d_id").value;
	var v_id = document.getElementById("sele_v_id").value;
	var teimee = document.getElementById("timee").value;
	
	var t1 = new Date(teimee);   
	var t2 = new Date();   
	//  $('#myModal').modal('hide');  关闭增加面板
	
	if( Date.parse(t1) - Date.parse(t2) <=0)
	{
		toastr.error('预计到店时间必须大于 当前时间');
		return ;
	}
	
	if(d_id=="" || v_id =="" || teimee=="")
	{
		toastr.error('新增时，数据不能为空');
		return;
	}
	
	var peoperty = d_id+","+v_id+","+teimee;
	$.ajax
	(
			{
					async:false,
				
			        type:"POST",
			        
			        url:"/OrderSystem/OrderAction_AddOrder.action?property="+peoperty,
			
			        cache : false, 
			          
			        success:function(data)
			        {	
			        	var obj 	= jQuery.parseJSON(data);
			        	if(obj=="1")
			        	{
			        		toastr.success('增加成功');
			        		$('#myModal').modal('hide');//隐藏增加面板
			        		TableInit.init();     
			        	}
			        	else if(obj=="0")
			        	{
			        		toastr.error('增加失败');
			        		$('#myModal').modal('hide');//隐藏增加面板
			        		TableInit.init();     
			        	}
			        },
			        
			        error: function()
			        {
			        	toastr.error('增加失败');
			        	$('#myModal').modal('hide');//隐藏增加面板
			        	TableInit.init();     
			        }         
			}
	);
	
}



function ShowD_id()//单击显示餐桌id时，弹出餐桌面板
{
	$('#myModal_D_id').modal();
	$.ajax
	(
			{
					async:false,
				
			        type:"POST",
			        
			        url:"/OrderSystem/OrderAction_ShowD_id.action",
			
			        cache : false, 
			          
			        success:function(data)
			        {	
			        	toastr.info('获取餐桌号成功'); 
			        	var obj 	= jQuery.parseJSON(data);
			        	document.getElementById("ToShowD_id").innerHTML="";//每次查询先清空
			        	for(var i =0;i<obj.length;i++)
			        	{
			        		document.getElementById("ToShowD_id").innerHTML=
			        		document.getElementById("ToShowD_id").innerHTML+
			        		obj[i].d_id+"</br>";
			        	}
			        },
			        
			        error: function()
			        {   
			        	toastr.warning('获取失败');
			        }         
			}
	);
	
}



/*-----新增预定单时 动态添加select的option----------*/
function ShowD_id_ToAdd()
{
	$.ajax
	(
			{
					async:false,
				
			        type:"POST",
			        
			        url:"/OrderSystem/OrderAction_ShowD_id.action",
			
			        cache : false, 
			          
			        success:function(data)
			        {	 
			        	
			        	var obj 	= jQuery.parseJSON(data);
			        	for(var i =0;i<obj.length;i++)
			        	{
			        		$("#sele_d_id").append
			        		(
			        				"<option value="+
			        				"'"+obj[i].d_id+"'>"
			        				+obj[i].d_id+
			        				"</option>"
			        		); 
			        	}
			        },
			        
			        error: function()
			        {   
			        	toastr.error('获取餐桌id的下拉框失败');
			        }         
			}
	);
}
/*-----新增预定单时 动态添加select的option----------*/



/*----------新增的时候，获取客户id-------------*/
function  ShowV_id_ToAdd()
{
	$.ajax
	(
			{
					async:false,
				
			        type:"POST",
			        
			        url:"/OrderSystem/OrderAction_ShowV_id.action",
			
			        cache : false, 
			          
			        success:function(data)
			        {	 
			        	
			        	var obj 	= jQuery.parseJSON(data);
			        	for(var i =0;i<obj.length;i++)
			        	{
			        		$("#sele_v_id").append
			        		(
			        				"<option value="+
			        				"'"+obj[i].id+"'>"
			        				+obj[i].id+
			        				"</option>"
			        		); 
			        	}
			        },
			        
			        error: function()
			        {   
			        	toastr.error('获取客户id的下拉框失败');
			        }         
			}
	);
}
/*----------新增的时候，获取客户id-------------*/



function Alert_status()
{
	var row=$.map($("#tb_departments").bootstrapTable('getSelections'),function(row){
		return row ;
		});
	
	var proper = row[0].p_id+","
				+row[0].v_id+","
				+row[0].t_id+","
				+row[0].p_status+","
				+row[0].p_time+","
				+row[0].p_ac_time;
	
	$.ajax
	(
			{
					async:false,
				
			        type:"POST",
			        
			        url:"/OrderSystem/OrderAction_Alert_status.action?proper="+proper,
			
			        cache : false, 
			          
			        success:function(data)
			        {	
			        	var obj 	= jQuery.parseJSON(data);
			        	if(obj=="1")
			        	{
			        		toastr.success('修改成功');
			        		TableInit.init();     
			        	}
			        	else if(obj=="0")
			        	{
			        		toastr.error('修改失败');
			        		TableInit.init();     
			        	}
			        },
			        
			        error: function()
			        {   
			        	toastr.error('修改失败');
		        		TableInit.init();
			        }         
			}
	);
}






$(
		function () 
		{   
			//1.初始化Table  
			TableInit.init();     
			
			//2.初始化Button的点击事件 
			//$("#button_search").bind("click", TableInit.init());  
			
			//注册新增面板的弹出框时间
			$("#build").click(function () {  
					$("#myModalLabel").text("新增");  
					$('#myModal').modal(); //打开新增面板
				}
			); 
			
			 toastr.options.positionClass = 'toast-bottom-right'; //初始化 toastr 提示插件
			 /* toastr.success('提交数据成功');
				toastr.error('Error');
				toastr.warning('只能选择一行进行编辑');
				toastr.info('info'); */
			 
			 $('#datetimepicker1').datetimepicker();
			 
			 
			 /*自动执行此异步，查询可用的餐桌id，并且拼接成一个option*/
			 ShowD_id_ToAdd();
			 /*自动执行此异步，查询可用的客户id，并且拼接成一个option*/
			 ShowV_id_ToAdd()
			 
			 /*2.把查询餐桌id的写详细一点了*/
		}    
);



